package ysq.xyg.recovery.service;

import ysq.xyg.base.model.dto.ReturnEntity;
import ysq.xyg.base.service.BaseService;
import ysq.xyg.recovery.model.po.RecoveryWasteMember;
import ysq.xyg.sys.model.po.SysUser;
import ysq.xyg.recovery.model.vo.RecoveryWasteMemberVo;

import java.util.List;

/**
 * 回收金模块-收废员service接口
 *
 * @author congcong tao
 * @date 2019-8-2 14:25:13
 */
public interface RecoveryWasteMemberService extends BaseService<RecoveryWasteMember> {

    /**
     * 分页查询
     *
     * @param recoveryWasteMemberVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-8-2 14:25:13
     */
    ReturnEntity page(RecoveryWasteMemberVo recoveryWasteMemberVo, int pageSize, int pageNum);

    /**
     * 关联分页
     * @param recoveryWasteMemberVo
     * @param pageSize
     * @param pageNum
     * @author congcong tao
     * @date 2019/8/2 15:53
     */
    ReturnEntity pageLeft(RecoveryWasteMemberVo recoveryWasteMemberVo, int pageSize, int pageNum);

    /**
     * 修改
     *
     * @param recoveryWasteMemberVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-8-2 14:25:13
     */
    ReturnEntity addOrUpdate(RecoveryWasteMemberVo recoveryWasteMemberVo, SysUser currentUser);

    /**
     * 手机端保存
     * @param recoveryWasteMemberVo
     * @author congcong tao
     * @date 2019/8/2 14:39
     */
    ReturnEntity addOrUpdate(RecoveryWasteMemberVo recoveryWasteMemberVo);

    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-8-2 14:25:13
     */
    ReturnEntity delete(String id, SysUser currentUser);

    /**
     * 获取集合
     *
     * @param recoveryWasteMemberVo 对象
     * @return List<RecoveryWasteMember> RecoveryWasteMember集合
     * @author congcong tao
     * @date 2019-8-2 14:25:13
     */
    List<RecoveryWasteMember> acceptList(RecoveryWasteMemberVo recoveryWasteMemberVo);

    /**
     * 根据ids更改状态
     * @param ids ids用逗号区分
     * @param status
     * @param manageContent
     * @author congcong tao
     * @date 2019/8/2 16:11
     */
    ReturnEntity updateStatus(String ids, String status, String manageContent);

    ReturnEntity acceptSelect(String code);
}
